﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SushiWeb.Models;

namespace SushiWeb.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewData["Message"] = "ASP.NET MVC";
            

            return View();
        }

        public ActionResult About()
        {
            return View();
        }

        public ActionResult Carta()
        {

            ProductoWS.ProductosClient proxy = new ProductoWS.ProductosClient();
            List<ProductoWS.Producto> proxyProductos = proxy.ListarProducto().ToList();

            List<Producto> listaProducto = new List<Producto>();

            foreach (ProductoWS.Producto item in proxyProductos)
            {
                Producto item2 = new Producto();
                item2.IdProducto = item.IdProducto;
                item2.Nombre =  item.Nombre;
                item2.Detalle = item.Detalle;
                item2.Porcion = item.Porcion;
                item2.Precio = item.Precio ;
                item2.TipoProducto = item.TipoProducto;
                item2.Imagen = item.Imagen;
                item2.isInCarrito = autenticarCarro(item.IdProducto);

                listaProducto.Add(item2);
            }
            return View(listaProducto);
            //return View(proxy.ListarProducto().ToList());
        }

        public int autenticarCarro(int idProducto) 
        {
            if (Session["SessionDetallePedidos"] != null)
            {
                foreach (Producto item in (List<Producto>)Session["SessionDetallePedidos"])
                {
                    if (item.IdProducto == idProducto)
                    {
                        return 1;
                    }
                }
            }

            return 0;
            
        }

        public ActionResult AgregarCarro(int idProducto)
        {

            if (Session["ClienteSesion"] != null)
            {
                ProductoWS.ProductosClient proxy = new ProductoWS.ProductosClient();
                ProductoWS.Producto productoEncontrado = proxy.ObtenerProducto(idProducto);

                List<Producto> listaProductos = new List<Producto>();
                if (Session["SessionDetallePedidos"] != null)
                {
                    listaProductos = (List<Producto>)Session["SessionDetallePedidos"];
                }
                Producto item = new Producto();

                item.IdProducto = productoEncontrado.IdProducto;
                item.Nombre = productoEncontrado.Nombre;
                item.Detalle = productoEncontrado.Detalle;
                item.Imagen = productoEncontrado.Imagen;
                item.Porcion = productoEncontrado.Porcion;
                item.Precio = productoEncontrado.Precio;
                item.TipoProducto = productoEncontrado.TipoProducto;
                item.cant = 1;

                listaProductos.Add(item);

                Session["SessionDetallePedidos"] = listaProductos;

            }

            return RedirectToAction("Carta", "Home");
            //return View();
        }
    }
}
